﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using ApuestasJMG.GUI.Contrato;
using Logica.Comandos.ComandosAdministracionCategoria;
using Logica.Comandos;
using Datos.Entidades;
using Logica.FabricaLogica;
using Datos.Entidades.FabricaEntidades;
using Logica.Comandos;

namespace ApuestasJMG.GUI.Presentador
{
    public class PresentadorEliminarCategoria
    {
        List<Entidad> misCategorias = new List<Entidad>();
        private IContratoEliminarCategoria _eliminarCategoria;

        /// <summary>
        /// Constructor de la clase
        /// </summary>
        /// <param name="creacionCategoria">
        /// Datos de la página de eliminarCategoria requeridos para eliminarla
    
        /// </param>
        public PresentadorEliminarCategoria (IContratoEliminarCategoria eliminarCategoria)
        {
            _eliminarCategoria = eliminarCategoria;
        }

        /// <summary>
        /// Código a ejecutar cuando el usuario presiona el botón ELIMINAR
        /// para eliminar una Categoria
        /// </summary>
        /// <returns>Si la operación fue exitosa o no</returns>
        public string ClickEliminar()
        {
            String x=_eliminarCategoria.categoria.SelectedValue;
            int idCategoria = _eliminarCategoria.categoria.SelectedIndex;
            Comando comando = FabricaComandoCategoria.CrearComandoEliminarCategoria(idCategoria);
            comando.Ejecutar();
            obtenerCategoria();
            if (!comando.Flag)

                return "No se ha podido eliminar la categoria!";
        else

            return "La categoria fue eliminada con éxito!";
        }

        public void obtenerCategoria()
        {
            Comando comando = FabricaComandoCategoria.CrearComandoListarCategoria();
            comando.Ejecutar();
            misCategorias = comando.ListaEntidad;
            if (misCategorias != null)
            {

                for (int i = 0; i < misCategorias.Count; i++)
                {

                    _eliminarCategoria.categoria.Items.Add((misCategorias.ElementAt(i) as Categoria).NombreCategoria);
                  

                }
                _eliminarCategoria.categoria.DataBind();
                
            }
               
        }
       
    }
}